home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / forth / pfe-0.000 / pfe-0 / pfe-0.9.13 / src / forth.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-17  |  3.6 KB  |  132 lines

  1. /*
  2.  * This file is part of the portable Forth environment written in ANSI C.
  3.  * Copyright (C) 1995  Dirk Uwe Zoller
  4.  *
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Library General Public
  7.  * License as published by the Free Software Foundation; either
  8.  * version 2 of the License, or (at your option) any later version.
  9.  *
  10.  * This library is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13.  * See the GNU Library General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU Library General Public
  16.  * License along with this library; if not, write to the Free
  17.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  *
  19.  * This file is version 0.9.13 of 17-July-95
  20.  * Check for the latest version of this package via anonymous ftp at
  21.  *    roxi.rz.fht-mannheim.de:/pub/languages/forth/pfe-VERSION.tar.gz
  22.  * or    sunsite.unc.edu:/pub/languages/forth/pfe-VERSION.tar.gz
  23.  * or    ftp.cygnus.com:/pub/forth/pfe-VERSION.tar.gz
  24.  *
  25.  * Please direct any comments via internet to
  26.  *    duz@roxi.rz.fht-mannheim.de.
  27.  * Thank You.
  28.  */
  29. /*
  30.  * forth.h ---    gathers some common includes in a useful order
  31.  *        and global variables and types for main.c
  32.  * (duz 08Feb93)
  33.  */
  34.  
  35. #ifndef __FORTH_H
  36. #define __FORTH_H
  37.  
  38. #ifndef __CONFIG_H
  39. #include "config.h"
  40. #endif
  41.  
  42. #ifndef __VIRTUAL_H
  43. #include "virtual.h"
  44. #endif
  45.  
  46. #ifndef __OPTIONS_H
  47. #include "options.h"
  48. #endif
  49.  
  50. #ifndef __CONST_H
  51. #include "const.h"
  52. #endif
  53.  
  54. #ifndef __TYPES_H
  55. #include "types.h"
  56. #endif
  57.  
  58. #ifndef __MACROS_H
  59. #include "macros.h"
  60. #endif
  61.  
  62. #ifndef __PRELOAD_H
  63. #include "preload.h"
  64. #endif
  65.  
  66.  
  67. /* variables declared globally */
  68.  
  69. extern struct memory
  70.     membot,            /* start of each area */
  71.     memtop;            /* end of each area */
  72.  
  73. extern struct memsiz
  74.     memsiz;            /* size of each area in cells */
  75.  
  76. extern char host_system[];
  77.                 /* exported command line options: */
  78. extern int _argc;        /* all options */
  79. extern char **_argv;
  80. extern int app_argc;        /* those past the file name to include */
  81. extern char **app_argv;
  82. extern int exitcode;
  83.  
  84. extern struct sysvar sys;    /* all other FORTH variables */
  85.  
  86. extern struct options        /* this aggregate communicates command line */
  87. {                /* options to the rest of the program */
  88.     unsigned caps_on:1,    /* exchange lower and upper case chars */
  89.         lower_case_on:1,/* make lower case words find upper case */
  90.         lower_case_fn:1,/* convert file names to lower case? */
  91.         float_input:1,    /* disables floating point input when false */
  92.         license:1,    /* show license string at startup */
  93.         warranty:1,    /* show warranty string at startup */
  94.         quiet:1,    /* no messages */
  95.         verbose:1,    /* more messages */
  96.         canonical:1,    /* running in canonical mode */
  97.         stdio:1,    /* standard input isn't-tty: work as filter */
  98.         debug:1;    /* enable a few more outputs */
  99.     int    cols, rows;    /* size of screen */
  100.     uCell    total_size;
  101.     uCell    stack_size;
  102.     uCell    flt_stack_size;
  103.     uCell    ret_stack_size;
  104.     uCell    max_files;
  105.     uCell    pockets;
  106.     char *    save_dict;    /* dictionary image to build or NULL */
  107.     char *    load_dict;    /* dictionary image to load or NULL */
  108.     char *    pferc_file;    /* normally "~/.pferc" */
  109.     char *    block_file;    /* block file to use initially */
  110.     char *    include_file;    /* file to include initially */
  111.     char *    incpaths;
  112.     char *    incext;
  113.     char *    blkpaths;
  114.     char *    blkext;
  115.     char *    editor;        /* preferred ASCII text file editor */
  116. }
  117. option;
  118.  
  119. extern char    version_string [],
  120.         copyright_string [],
  121.         license_string [],
  122.         warranty_string [],
  123.         compile_date [],
  124.         compile_time [];
  125.  
  126. code (dot_memory);
  127.  
  128. void fatal (const char *msg, ...);
  129. Xt forth_signal (int sig, Xt xt);
  130.  
  131. #endif
  132.